home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Dev
/
Oberon
/
source
/
amiga
/
ClipBoard.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
3KB
|
98 lines
(***************************************************************************
$RCSfile: ClipBoard.mod $
Description: clipboard.device structure definitions
Created by: fjc (Frank Copeland)
$Revision: 3.8 $
$Author: fjc $
$Date: 1995/06/04 23:13:14 $
$VER: clipboard.h 36.5 (2.11.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994-1995, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
<* STANDARD- *>
MODULE [2] ClipBoard;
IMPORT e := Exec, s := Sets;
CONST
post * = e.nonstd+0;
currentReadId * = e.nonstd+1;
currentWriteId * = e.nonstd+2;
changeHook * = e.nonstd+3;
obsoleteId * = 1;
TYPE
ClipboardUnitPartialPtr * = POINTER TO ClipboardUnitPartial;
ClipboardUnitPartial * = RECORD (e.NodeBase)
node * : e.Node; (* list of units *)
unitNum * : e.ULONG; (* unit number for this unit *)
(* the remaining unit data is private to the device *)
END; (* ClipboardUnitPartial *)
TYPE
IOClipReqBase *= RECORD (e.MessageBase) END;
IOClipReqBasePtr *= POINTER TO IOClipReqBase;
IOClipReqPtr * = POINTER TO IOClipReq;
IOClipReq * = RECORD (IOClipReqBase)
message * : e.Message;
device * : e.DevicePtr; (* device node pointer *)
unit * : ClipboardUnitPartialPtr; (* unit node pointer *)
command * : e.UWORD; (* device command *)
flags * : s.SET8; (* including QUICK and SATISFY *)
error * : SHORTINT; (* error or warning num *)
actual * : e.ULONG; (* number of bytes transferred *)
length * : e.ULONG; (* number of bytes requested *)
data * : e.APTR; (* either clip stream or post port *)
offset * : e.ULONG; (* offset in clip stream *)
clipID * : LONGINT; (* ordinal clip identifier *)
END; (* IOClipReq *)
CONST
primaryClip * = 0; (* primary clip unit *)
TYPE
SatisfyMsgPtr * = POINTER TO SatisfyMsg;
SatisfyMsg * = RECORD (e.MessageBase)
message * : e.Message; (* the length will be 6 *)
unit * : e.UWORD; (* which clip unit this is *)
clipID * : LONGINT; (* the clip identifier of the post *)
END; (* SatisfyMsg *)
TYPE
ClipHookMsgPtr * = POINTER TO ClipHookMsg;
ClipHookMsg * = RECORD
type * : e.ULONG; (* zero for this structure format *)
changeCmd * : LONGINT; (* command that caused this hook invocation: *)
(* either cmdUpdate or cbdPost *)
clipID * : LONGINT; (* the clip identifier of the new data *)
END; (* ClipHookMsg *)
CONST
clipboardName * = "clipboard.device";
END ClipBoard.